'use strict';
function checktoken() {
  return async function(ctx, next) {
    // console.log("middleware checktoken");
    // //每次发送数据 后台都会打印midddleware checktoken
    // await next();
    // //需要 await
    try {
      // 获取token
      const token = ctx.request.header.token;
      // 校验token
      const decode = ctx.app.jwt.verify(token, ctx.app.config.jwt.secret);
      if (decode.username) {
        await next();
      } else {
        ctx.body = {
          code: 40000,
          msg: '用户校验失败',
        };
      }
    } catch (e) {
      ctx.body = {
        code: 40000,
        msg: `token未通过验证${e}`,
      };
    }

  };
}
module.exports = checktoken;
